Data communication, particularly to and from the public network commonly referred to as the Internet is rapidly becoming a ubiquitous aspect of modern life throughout business, academic, educational and home environs. Today, the most common paradigm for access to a packet network, such as the Internet or a private intra-net, involves a dial-up procedure.
A user subscribes to network access services through an Internet Service Provider (ISP). The ISP operates pools of modems coupled to lines of the public switched telephone network. Typically, a pool of modems connects to a group of lines forming a multi-line hunt group, which is assigned one main telephone number. Users' computers dial the main number, and the telephone network connects each of the incoming calls to a line to the next available modem in the pool. Each user's computer typically includes a modem or an ISDN card. The user's modem modulates data from the user's computer for transmission in the voice telephone band over the telephone connection, where the modem from within the pool demodulates data signals for transmission over the packet switched data network. Similarly, the modem from the pool modulates data for transmission over the telephone link, where the user's modem demodulates the packet data for processing within the user's computer. This telephone-based operation provides the modem a unique power, the necessary connections are virtually ubiquitous. Such modems can communicate via virtually any telephone line or wireless telephone (e.g. cellular) to any other such telephone connection, virtually anywhere in the world.
Most often, data is transferred using Transmission Control Protocol/Internet Protocol (TCP/IP) implemented over such protocols as the Point-to-Point Protocol (PPP) or Serial Line IP (SLIP). PPP and SLIP allow clients to become part of a TCP/IP network (such as the Internet) using the public telephone network. To communicate via any packet switched data network, each device must have a packet protocol address. In the common forms of such networks, today, each address is an Internet Protocol (IP) address.
In the dial-in service, the IP addresses are administered through the ISPs. To an ISP, the available IP addresses are a limited resource. Accordingly, each ISP prefers to assign IP addresses on a dynamic basis, only to those users actually on-line at any given time. ISPs offering dial-in access to the Internet therefore use IP address pooling to enable the assignment of IP addresses to callers as they reach the Internet. Typically, as part of the dial-in service, the user's modem and the modem in the ISP pool conduct an initial handshaking, to establish data communications between the two modems. As part of this operation, the ISP host computer initiates a procedure to assign the user's computer a numeric Internet Protocol (IP) address from the pool of available addresses. When the session ends and the user goes off-line, the ISP host can reassign the address to another user, as the next user comes on-line.
This dynamic assignment of IP addresses upon dial-in connection allows the ISP to limit the number of IP addresses used to the number of users actively connected through the ISP's host to the Internet. This approach works efficiently for dial-in access, because data communications to/from the user's computer do not begin until there is a connection through the ISP host, and the host assigns the necessary IP address at that time when the user first needs such an address.
Recently, there has been increasing interest in Internet services, in which a gateway device dials-out to establish a link from an edge of the packet data network through the telephone network to a user's computer in the home or office. The dial-out link may enable a server on the Internet to provide a push-service, for example to supply e-mail or other data to a user's personal computer. As another example, the dial-out link may enable occasional access to a remote web server, where the usage is low and the operator of the server does not want to pay the costs of an always-on link to the Internet. Also, voice telephone services over the Internet are quickly becoming popular. To emulate the ubiquitous telephone service, such voice-over-IP services will require dial-out capabilities from the data network to destination computer stations. In practice, a computer already on the Internet requests the gateway device to initiate the outbound call to the destination computer. Typically, the gateway includes one or more modems for dialing the telephone number of the destination device and establishing modem to modem communications similar to those in the more common dial-in service. However, the administration and usage of the packet addresses presents certain problems.
To send a data packet over an IP packet network, the source must know its own address plus the address of the destination. In most existing services, the destination device is virtually always on-line and has a permanently assigned IP address. An originating device either knows the IP address, or the originating device obtains the numeric IP address from some third party source on the network, such as a domain name server.
In existing dial-out type service, this means that the computer seeking communication with the off-net device accessible only through an on-demand telephone call must know an IP address assigned to the off-net device. Although the called user does not have a connection that is on all the time, the originating device needs to know the IP address of the destination in order to initiate communications through the IP packet network. The present approach to dial-out services uses static address assignment. If the ISP equipment can initiate a dial-out call to a particular data device, that data device must have been permanently assigned its own IP address, for recognition by the ISP equipment and use by the parties initiating communications to that data device. However, with a dial-out service where many destinations may not be on at any given time this creates a severe resource problem with regard to allocation of IP addresses.
Clearly a need exists for systems and methodologies which enable packet switched communications to a destination device, requiring an dial-out operation, where the destination does not have a permanently assigned packet network address. It must be possible to initiate communications, including the dial-out operation of calling the destination before or concurrently with dynamic assignment of an address to the destination. Any technique for dynamically assigning addresses for the dial-out access service should require little or no modification in existing operations of the computer system seeking to communicate with the destination.